package com.wfx.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wfx.entity.PageDTO;
import com.wfx.entity.PageResult;
import com.wfx.entity.Result;
import com.wfx.entity.ViewCatTpl;
import com.wfx.mapper.ViewCatTplMapper;
import com.wfx.mapper.WxbGoodsCatMapper;
import com.wfx.service.IViewCatTplService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * VIEW 服务实现类
 * </p>
 *
 * @author zhu
 * @since 2021-01-22
 */
@Service
public class ViewCatTplServiceImpl extends ServiceImpl<ViewCatTplMapper, ViewCatTpl> implements IViewCatTplService {

    @Autowired
    private ViewCatTplMapper viewCatTplMapper;
    private WxbGoodsCatMapper wxbGoodsCatMapper;

    @Override
    public PageResult<ViewCatTpl> search(PageDTO<ViewCatTpl> pageDTO) {
        //设置分页
        IPage<ViewCatTpl> iPage = new Page(pageDTO.getPage(), pageDTO.getLimit());
        QueryWrapper<ViewCatTpl> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("parent_id", pageDTO.getData());
        IPage<ViewCatTpl> pageInfo = viewCatTplMapper.selectPage(iPage, queryWrapper);
        PageResult<ViewCatTpl> pageResult = new PageResult<>();
        pageResult.setTotal(pageInfo.getTotal());
        pageResult.setData(pageInfo.getRecords());
        pageResult.setPages(pageInfo.getPages());
        pageResult.setSuccess(true);
        pageResult.setMsg("搜索成功");
        return pageResult;
    }

    @Override()
    public Result up(ViewCatTpl viewCatTpl) {
        int i = viewCatTplMapper.updateById(viewCatTpl);
        return new Result(true,"删除成功");
    }

    @Override
    public Result del(List<String> ids) {
        Result result = new Result();
        for (String id : ids) {
            QueryWrapper<ViewCatTpl> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("parent_id",id);
            List<ViewCatTpl> viewCatTpls = viewCatTplMapper.selectList(queryWrapper);
            if (viewCatTpls.isEmpty()){
                int i = viewCatTplMapper.delCat(id);
                result.setSuccess(i>0?true:false);
                result.setMsg(1>0?"删除成功":"删除失败");
            }else {
                result.setSuccess(false);
                result.setMsg("本分类不允许被删除");
            }
        }
            return result;
    }

//    @Override
//    public Result del(List<ViewCatTpl> viewCatTplList) {
//        for (ViewCatTpl viewCatTpl : viewCatTplList) {
//            Long parentId = viewCatTpl.getCid();
//            QueryWrapper<ViewCatTpl> queryWrapper =new QueryWrapper<>();
//            queryWrapper.eq("parent_id",parentId);
//            List<ViewCatTpl> viewCatTpls = viewCatTplMapper.selectList(queryWrapper);
//            if (viewCatTpls.isEmpty()){
//                UpdateWrapper updateWrapper = new UpdateWrapper();
//                int i = viewCatTplMapper.delCat(viewCatTpl.getCid());
//                return new Result(i1>0,"删除成功");
//            }else {
//                return new Result(false,"当前节点有子节点，不能删除");
//            }
//        }
//        return null;
//    }

//    @Override
//    public Result savecat(ViewCatTpl viewCatTpl) {
//        int i= viewCatTplMapper.saveCat(viewCatTpl);
//        return new Result(i>0,"添加成功");
//    }


}
